package main

import (
	"fmt"
)

//二分查找函数
func BinaryFind(arr *[6]int, left int, right int, findVal int) {
	//找不到
	if left > right {
		fmt.Printf("找不到\n")
		return
	}
	mid := (left + right) / 2
	if (*arr)[mid] > findVal {
		BinaryFind(arr, left, mid-1, findVal)
	} else if (*arr)[mid] < findVal {
		BinaryFind(arr, mid+1, right, findVal)
	} else {
		fmt.Printf("找到了 下标为%v\n", mid)
	}

}
func main() {
	//二分查找
	/*
	   思路分析：查找数findVal 先找到中间值，mid=（left+right）/2.
	   做判断，如果mid>findVal则向left--mid-1之间，如果mid<findVal向mid+1--right之间，如果mid==findVal，找到。
	*/
	//递归的思想，结束条件是：左边大于右边
	arr := [6]int{22, 33, 44, 55, 66, 77}
	BinaryFind(&arr, 0, len(arr)-1, 0)
}
